#ifndef DEMO_DEMOGAME
#define DEMO_DEMOGAME

#include "GameD3D.h"

class DemoGame : public GameD3D
{
private:
	static DemoGame* _this;

	const D3DXVECTOR3 _v3Target;
	const D3DXVECTOR3 _v3Up;

	FLOAT _camAngle;
	FLOAT _camRadius;
	FLOAT _camHeight;
	void _SetCam();

	D3DXVECTOR3 _v3VelA;
	D3DXVECTOR3 _v3VelB;
	D3DXVECTOR3 _v3PosA;
	D3DXVECTOR3 _v3PosB;
	Geometry _geoA;
	Geometry _geoB;
	void _SetItems();
	class _Move : public Timer
	{
	public:
		_Move();
	protected:
		void OnTick();
	};

	Timer* _hold[256];
	class _HoldCamera : public Timer
	{
	private:
		BYTE _code;
	public:
		_HoldCamera(BYTE code);
	protected:
		void OnTick();
	};

protected:
	virtual void OnLoad();
	virtual void OnKeyDown(BYTE code);
	virtual void OnKeyUp(BYTE code);

public:
	DemoGame(LPCSTR title);

};

#endif//DEMO_DEMOGAME
